Currently, process execution engines execute process specifications often given as and herein referred to as process scripts by instantiating the process definition and orchestrating the invocation or execution of each of the activities/services contained therein. Typically, the orchestration includes marshaling and linking inputs and outputs of different services.
One example of current techniques is a centralized approach with a single execution engine invoking services even though they may be executed in a distributed manner. This is the most widely used approach.
Another example of a current technique is a distributed approach. Typically, a single process definition is portioned by a person into multiple process scripts that can be executed independently by different engines. The execution of the multiple scripts is orchestrated to produce the same result as the original script.
Recently, automated approaches have been proposed to automatically partition a BPMN (Business Process Modeling Notation) process definition and provide a communication protocol for coordinating the distributed orchestration engines. Quiroz et al., teach such an approach in U.S. patent application Ser. No. 13/403,440 filed on Feb. 23, 2002, entitled “Method and System for Automatically Partitioning and Processing a Business Process”, and herein included by reference in its entirety. A method that does not efficiently utilize resources is described in Pieter Hens, Monique Snoeck, Manu De Backer, and Geert PoeIs. Transforming Standard Process Models to Decentralized Autonomous Entities, in 5th SIKS/BENAIS Conference on Enterprise Information Systems, 2010.
However, widespread adoption of automated methods and systems for process partitioning is not yet a reality. In addition to the youth of the distributed cloud-based process deployment, this is due in part to the small number of methods that exist and the difficulty in implementing these methods due to their specificity (e.g., process representation dependencies) and their complexity. Systems and methods for addressing shortcomings in the current art and to spur greater adoption of automated methods for process partitioning are needed.